Manejo y visualización de datos en R (Parte IV - Trabajo reproducible)

Actividad formativa de doctorado de la Universidad de Alcalá

true , true
2022-01-05

Gran parte de la información y figuras de esta sesión ha sido obtenida de la nota ecoinformática: Astigarraga, J. & Cruz-Alonso, V. (en prensa). “¡Se puede entender cómo funcionan Git y GitHub!”. Ecosistemas.

Introducción

Problemas comunes:

- Sobreescritura de un archivo

- Versiones finales infinitas

“FINAL.doc”

- Trabajo por error en una versión que no era la final

- Creación de copias “en conflicto” cuando dos personas trabajan a la vez

- Ediciones sin control de cambios

Ediciones sin control de cambios

Qué es R Markdown

Fundamentos básicos de R Markdown

Para crear un archivo R Markdown: File -> New File -> R Markdown. Estos archivos tienen 3 componentes principales: (i) metadatos, (ii) texto, (iii) código

Para compilar un archivo R Markdown se utiliza el botón de “Knit” de RStudio (atajo: Ctrl + Shift + K). También se puede hacer mediante código: rmarkdown::render(“intro_repro.Rmd”, output_dir = “output”)

Para buscar ayuda: Help -> Markdown Quick Reference (italics, bold, headers, lists, links, images, R codes, tables, page break, superscripts…)

negrita, cursiva, subíndice1, superíndice2, codes, hypervínculo, notas al pie1

Títulos (# primer nivel; ## segundo nivel…), listas y sublistas (*, -, +),

“R Markdown es maravilloso”

— Julen Astigarraga

\(f(how) = {do \choose you} feel^{excellent} (1-p)^{n-k}\)

⚡ Cambia al Visual markdown editing mode mediante el botón del compás

Para analizar las múltiples opciones de chunk (Ctrl + Alt + I): https://bookdown.org/yihui/rmarkdown/r-code.html

Ejercicio 1

Crea un archivo R Markdown, ponle un título, añade un texto, crea un plot (Ctrl + Alt + I) y compila al formato HTML (“Knit”)

Qué es Git

Ejemplo de un proyecto rastreado por Git destacando información importante

Qué es GitHub

Página inicial de GitHub (https://github.com/)
Perfil de GitHub (https://github.com/Julenasti)
Interacción entre Git y GitHub

Instalación de Git

En este punto es necesario que tengas instalada la versión más reciente de R (https://cloud.r-project.org/), RStudio (https://www.rstudio.com/products/rstudio/download/), Git (https://happygitwithr.com/install-git.html) y una cuenta en GitHub (https://github.com/) creada.

Ejercicio 2

En el shell, preséntate a Git (Chapter 7: Git-Intro)

⚡ ¿Qué es el shell? El shell (o terminal) es un programa en tu ordenador cuyo trabajo es ejecutar otros programas (ver https://happygitwithr.com/shell.html#shell). También veremos cómo hacerlo a través de un cliente como RStudio (https://www.rstudio.com/).

Terminal

Terminal de Git
A través de RStudio

Tools -> Shell

git config --global user.name 'Nombre Apellido'

git config --global user.email 'nombre@ejemplo.com'

Compueba que has instalado Git correctamente:

git --version

Para ver el usuario utilizado para configurar Git:

git config user.name

Para ver a qué cuenta de correo está asociado Git:

git config user.email

Para ver tanto el usuario como el correo asociado:

git config --global --list

Repositorios y proyectos

Un repositorio es como un “contenedor” donde desarrollar un proyecto.

Para crear un repositorio en GitHub: “New”. Aquí se indica el nombre, una pequeña descripción, y si quieres que sea público o privado. Se recomienda iniciar el repositorio con un archivo “README” (Initialize this repository with a README) para recoger cualquier información esencial para el uso del repositorio (estructura, descripción más detallada del contenido, etc.).

Repositorio en GitHub destacando algunas pestañas importantes (https://github.com/Julenasti/intro_git-github)

En R, creamos un nuevo proyecto y lo conectamos al repositorio: File -> New project -> Version control -> Git -> copiar el URL del repositorio que hemos creado de GitHub (está en la página principal de nuestro repositorio, en “clone or download”). Seleccionamos el directorio donde queremos guardar el proyecto y pulsamos en “Create project”.

Si vamos al directorio seleccionado, encontraremos la carpeta conectada a Git y GitHub que hemos creado en nuestro ordenador. Podemos copiar aquí todos los archivos que nos interesan para el proyecto (datos, imágenes, etc).

Ejercicio 3

  1. Crea un repositorio en GitHub y conecta a un nuevo proyecto de RStudio (esto generará un repositorio (carpeta) en tu ordenador en la ubicación que le hayas especificado)

  2. Copia el archivo de R Markdown que has creado en el Ejercicio 1 en el directorio de trabajo (es decir, copia el archivo R Markdown y guárdalo dentro del repositorio que has creado)

  3. En RStudio ve a la pestaña Git (donde está el environment) para ver todos los documentos que han sido identificados por Git

Flujo de trabajo en Git y GitHub

Git es capaz de rastrear todos los archivos contenidos en un repositorio. Hay cuatro “zonas” de trabajo:

  1. Directorio de trabajo (working directory): es donde se está trabajando. Esta zona se sincroniza con los archivos locales del ordenador.

  2. Área de preparación (staging area o Index): es la zona intermedia entre el directorio de trabajo y el repositorio local de Git. Es la zona de borradores. El usuario debe seleccionar los archivos que se van a registrar en la siguiente “captura” de Git.

  3. Repositorio local (local repository o HEAD): es donde se registran todos los cambios capturados por Git en tu ordenador.

  4. Repositorio remoto (remote repository): es donde se registran todos los cambios capturados por Git en la nube (GitHub).

Representación gráfica de las diferentes zonas de trabajo en Git y GitHub

¿Cómo moverse de una zona a otra?

Al principio todos los cambios realizados están en amarillo porque Git no sabe que hacer con ellos. Estamos en el directorio de trabajo y puede que no nos interese guardar todos los cambios para el futuro.

Flujo de trabajo en Git y GitHub destacando distintas zonas de trabajo y comandos importantes
Repositorio en GitHub destacando información importante (https://github.com/Julenasti/intro_git-github)

Ejercicio 4

En el proyecto de cada equipo, guardad y subid a GitHub los cambios realizados en el Ejercicio 3 (git add + git commit + git push)

Algunos enlaces interasantes

Información más detallada de los temas tratados en esta sesión

R Markdown

Ciencia reproducible

Control de versiones (Git)

Integrar Git, GitHub y RStudio

Enseñar y aprender con GitHub

Fire emergency


Session Info

[1] "2022-01-05 13:03:54 CET"
git2r::repository()
Local:    main C:/Users/julen/OneDrive/Escritorio/GitHub-col/intro_git-github
Remote:   main @ origin (https://github.com/Julenasti/intro_git-github.git)
Head:     [67ee5f7] 2021-11-04: Update README.md
R version 4.0.5 (2021-03-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252 
[2] LC_CTYPE=English_United Kingdom.1252   
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.7        knitr_1.36        magrittr_2.0.1   
 [4] downlit_0.2.1     R6_2.5.0          rlang_0.4.11     
 [7] stringr_1.4.0     tools_4.0.5       xfun_0.22        
[10] jquerylib_0.1.4   git2r_0.28.0      htmltools_0.5.1.1
[13] yaml_2.2.1        digest_0.6.27     assertthat_0.2.1 
[16] crayon_1.4.1      purrr_0.3.4       sass_0.4.0       
[19] distill_1.2       glue_1.4.2        evaluate_0.14    
[22] rmarkdown_2.11    emo_0.0.0.9000    stringi_1.7.5    
[25] compiler_4.0.5    bslib_0.2.5.1     generics_0.1.0   
[28] jsonlite_1.7.2    lubridate_1.7.10 

  1. hello world↩︎